Field of the Invention
Embodiments of the present invention relate generally to disk drives and, more particularly, to systems and methods of write reordering in a hybrid disk drive.
Description of the Related Art
A hard disk drive (HDD) is a commonly used data storage device for the computer and primarily stores digital data in concentric tracks on the surface of a data storage disk. The data storage disk is a rotatable hard disk with a layer of magnetic material thereon, and data are read from or written to a desired track on the data storage disk using a read/write head that is held proximate to the track while the disk spins about its center at a constant angular velocity. Data are written to the data storage disk in accordance with a write command transferred to the HDD from a host computer.
Generally, write commands can be received by an HDD much more quickly than the data associated with each command can be written to the data storage disk. Consequently, an HDD typically stores data received from the host computer temporarily in a volatile buffer, such as a DRAM chip, prior to actually executing the write command, and uses a command queue to track each write command received from the host computer. To maximize the speed at which data residing in the volatile buffer are safely written to the data storage disk, the command queue is typically reordered, so that write commands transferred from the host system are not executed in the order received. Instead, write commands are selected as a function of how quickly they can be executed by the HDD based on the current position of the read/write head, the write location specified by each write command, the rotational speed of the data storage disk, the maximum seek acceleration of the HDD, the servo-settle time of the HDD, etc.
Various approaches for re-ordering the command queue in a hard disk drive are known, and in general the efficiency of such reordering schemes is enhanced by reordering larger numbers of writes. For example, when writing 4 kilobyte (kB) random writes, an HDD having a random-write performance of 70 input/output operations per second (IOPS) with no reordering of write commands, and approximately 200 IOPS when reordering 64 write commands, can potentially execute as many as 400 IOPS when using a reordering algorithm that reorders 1500 write commands. However, the time available for an HDD to select the next write command to be executed in the command queue is limited; during the time that the current write command is being executed, the queue of remaining commands must be reordered and the write command having the shortest access time determined. Because the time to reorder long command queues is generally longer than the time required to execute a typical write command, the use of such long command queues, e.g., command queues having 200 or more write commands, is generally impracticable. Consequently, improvements in random write performance of HDDs are generally limited to incremental enhancements in the mechanical performance of HDD servo systems and storage disk rotation speed. In light of the above, systems and methods that improve write reordering and/or increase the rate at which data are transferred to a non-volatile medium in an HDD are generally desirable.